feat(multi-select): add new features with multi selection - #25
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
This PR adds multi-selection support for puzzle pieces (including group drag/move) and introduces a Playwright-based E2E test suite + configuration for the project.
Changes:
- Add selection state (
selectedPositions) in the game view and wire selection events from pieces. - Implement group-swap logic (including boundary validation) and selection clearing on pause/reset.
- Add Playwright config, fixtures, and multiple E2E specs (plus extensive generated test artifacts/docs).
Reviewed changes
Copilot reviewed 43 out of 77 changed files in this pull request and generated 17 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/e2e/multi-select.spec.ts | New E2E coverage for multi-select UX and group dragging |
| tests/e2e/main.spec.ts | Baseline E2E suite (currently uses selectors/flows that don’t match the app UI) |
| tests/e2e/fixtures.ts | Shared Playwright fixtures for navigation/difficulty selection/start flow |
| tests/e2e/advanced.spec.ts | Fixture-based E2E suite (also uses mismatched piece selectors) |
| tests/e2e/README.md | E2E documentation and run instructions |
| modules/game/views/GameView.vue | Adds selection state, selection bar UI, clears selection on pause/reset |
| modules/game/composables/useEventGame.ts | Implements selection toggling and group swap + move validation |
| modules/game/components/Piece.vue | Emits selection events and passes selected slots through drag/drop |
| modules/core/types/index.ts | Adds optional selected field to ImagePieces |
| playwright.config.ts | Adds Playwright runner configuration (projects + webServer) |
| package.json | Adds test:e2e* scripts and Playwright dependency |
| pnpm-lock.yaml | Locks Playwright-related dependencies |
| E2E_TESTS_SETUP.md | Additional Playwright setup/how-to documentation |
| .github/copilot-instructions.md | Adds a large generated “project summary” as Copilot instructions |
| test-results/.last-run.json | Generated Playwright run metadata (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-fc9c5-splay-game-completion-modal-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-dad42-sponsive-on-mobile-viewport-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-d0222-home-page-and-display-title-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-a6308-lected-image-and-difficulty-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-8c57c-lay-game-sidebar-with-timer-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-7da3a-tton-and-handle-pause-modal-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-682ac-page-within-acceptable-time-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-63697-sponsive-on-tablet-viewport-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-571aa-llow-dragging-puzzle-pieces-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-541c6-ame-page-with-puzzle-pieces-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-46077-d-select-a-difficulty-level-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-1bba2-ponsive-on-desktop-viewport-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-11090-ter-when-pieces-are-swapped-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/main-PerplexImage---E2E-Te-09877--navigate-back-to-home-page-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/advanced-PerplexImage---Ad-d1ab5-from-home-to-game-selection-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/advanced-PerplexImage---Ad-9fc59--test-all-difficulty-levels-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/advanced-PerplexImage---Ad-353f5-s-test-image-selection-flow-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/advanced-PerplexImage---Ad-32fd0-ion-Tests-test-move-counter-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/advanced-PerplexImage---Ad-260e6-test-responsive-game-layout-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| test-results/advanced-PerplexImage---Ad-06ce7-ce-interaction-and-movement-chromium/error-context.md | Generated Playwright artifact (should not be committed) |
| playwright-report/data/dc2e8b3681e5a58460567e2969d27bdafdb1acc3.md | Generated Playwright report data (should not be committed) |
| playwright-report/data/cc6a75a945cd554ea9bb3004ab9fc00c376495f8.md | Generated Playwright report data (should not be committed) |
| playwright-report/data/cbb8c9734b099d199ce14baf91ab0e677a9830f2.md | Generated Playwright report data (should not be committed) |
| playwright-report/data/8cc2c0e1cb3830b04796a60a3e01f766ab8f55bd.md | Generated Playwright report data (should not be committed) |
| playwright-report/data/8b39ce9184551ec5694e7f3ad04bd59b5432fa8a.md | Generated Playwright report data (should not be committed) |
| playwright-report/data/7470a3ed962324b88b6cf80a52b07154d7890f8b.md | Generated Playwright report data (should not be committed) |
| playwright-report/data/4aca993ffb1c2c01634d438b4fda6eb6392c04e3.md | Generated Playwright report data (should not be committed) |
| playwright-report/data/44d7720f7e2e30051631b8a5f2ff2c7e18600871.md | Generated Playwright report data (should not be committed) |
| playwright-report/data/0f3b6337d448dbe0673667a2069d76b942832067.md | Generated Playwright report data (should not be committed) |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
906cfd3 to
68648ae
Compare
68648ae to
3609d1b
Compare
|
@makuchpatryk I've opened a new pull request, #27, to work on those changes. Once the pull request is ready, I'll request review from you. |
|
@makuchpatryk I've opened a new pull request, #28, to work on those changes. Once the pull request is ready, I'll request review from you. |
|
@makuchpatryk I've opened a new pull request, #29, to work on those changes. Once the pull request is ready, I'll request review from you. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 11 changed files in this pull request and generated 14 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
8240c0c to
1bfd7ef
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 12 out of 13 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
f522673 to
750fc35
Compare
750fc35 to
aab3957
Compare
No description provided.